package com.hxgz.steel.service;

import com.hxgz.steel.common.ServerResponse;
import com.hxgz.steel.domain.Order;
import com.hxgz.steel.domain.User;
import com.hxgz.steel.dto.PayOrderItemDto;

import java.util.Map;
import javax.servlet.http.HttpServletResponse;

public interface OrderService {

  ServerResponse pay(String orderNo, Long userId, String path, String ip) throws Exception;

  ServerResponse aliCallback(Map<String, String> params) throws Exception;

  ServerResponse queryOrderPayStatus(Long userId, String orderNo);

  ServerResponse addOrder(Order order, PayOrderItemDto payOrderItemDto);
  ServerResponse submitOrder(Order order, PayOrderItemDto payOrderItemDto);

  Order getByOrderNo(String outTradeNo);

  ServerResponse updateOrder(Order order) throws Exception;

  ServerResponse wxPay(Long id, String merchantId, String quotationId, String addressId,
      Integer invoice, String remark, String ip, HttpServletResponse response) throws Exception;

  void closeOrders(int hour);

  ServerResponse payExcel(String totalPrice, String path, String ip, Long id,String orderNo) throws Exception;

  Integer checkQuotationId(Long quotationId);

  ServerResponse jsPay(String orderNo, User user, String ip) throws Exception;
}
